Modelling a two-peak enterovirus A71 outbreak caused in Ho Chi Minh City, Vietnam, in 2023.
Background: A hand-foot-and-mouth disease (HFMD) severe outbreak stroke Ho Chi Minh in 2023, with two successive peaks in incidence in July and September. Laboratory analyses showed that both peaks were caused by enterovirus A71 (EV-A71) subgenogroup B5 lineage. We consider 3 hypotheses that could explain this pattern: (i) the peaks are caused by cases from locations (ii) the 2 successive peaks reflect the spread of the virus across age classes (iii) the period from July to August coincides with summer break characterized by a drop in the contact rate. Methods: The line listing data with 43,380 HFMD cases in Ho Chi Minh City in 2023 were obtained from Ho Chi Minh City Center for Disease Control (HCDC). We will look at the epidemic curves per commune and/or district for testing the first hypothesis. To analyze age structure, we will look at the age distribution of cases as a function of time either continuous variable or binary variable (first peak and second peak), and space (commune or district). For age structure analysis with continuous time variables, we will analyze with the sliding window technique to compute how the median age and quantiles vary over time. We will use the time-series SIR (tSIR) model to estimate the pool of susceptible and the contact rate for testing our third hypothesis regarding the 2-peaks pattern being driven by the levels of susceptible in the population and the contact rate between the individuals in the population.
HFMD data from 2017 - 2023
Time - series epidemic curve of HFMD in Ho Chi Minh from 2017 - 2023
Epidemic curve of HFMD in Ho Chi Minh (you can double - click on the legend to display a specific year)
Data description
| Characteristic | 2013 N = 8,0781 |
2014 N = 10,0431 |
2015 N = 8,7291 |
2016 N = 5,7401 |
2017 N = 30,8251 |
2018 N = 39,3521 |
2019 N = 28,4861 |
2020 N = 16,3981 |
2021 N = 9,7721 |
2022 N = 19,1651 |
2023 N = 43,3801 |
2024 N = 7,3971 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Age | NA (NA, NA) | NA (NA, NA) | NA (NA, NA) | NA (NA, NA) | 1.84 (1.21, 2.80) | 1.95 (1.22, 3.04) | 1.85 (1.18, 2.90) | 1.83 (1.18, 2.79) | 2.21 (1.42, 3.28) | 2.25 (1.48, 3.29) | 2.54 (1.68, 3.72) | 2.35 (1.38, 3.54) |
| Gender | ||||||||||||
| Female | 3,159 (39%) | 4,070 (41%) | 3,617 (41%) | 2,391 (42%) | 12,982 (42%) | 16,815 (43%) | 12,196 (43%) | 6,944 (42%) | 4,123 (42%) | 7,950 (41%) | 18,461 (43%) | 3,121 (42%) |
| Male | 4,919 (61%) | 5,973 (59%) | 5,112 (59%) | 3,349 (58%) | 17,843 (58%) | 22,537 (57%) | 16,290 (57%) | 9,454 (58%) | 5,649 (58%) | 11,215 (59%) | 24,919 (57%) | 4,276 (58%) |
| District | ||||||||||||
| 1 | 157 (1.9%) | 174 (1.7%) | 156 (1.8%) | 96 (1.7%) | 632 (2.1%) | 688 (1.7%) | 592 (2.1%) | 278 (1.7%) | 163 (1.7%) | 383 (2.0%) | 707 (1.6%) | 121 (1.6%) |
| 10 | 240 (3.0%) | 270 (2.7%) | 234 (2.7%) | 145 (2.5%) | 912 (3.0%) | 944 (2.4%) | 813 (2.9%) | 265 (1.6%) | 226 (2.3%) | 492 (2.6%) | 947 (2.2%) | 149 (2.0%) |
| 11 | 272 (3.4%) | 343 (3.4%) | 282 (3.2%) | 210 (3.7%) | 836 (2.7%) | 937 (2.4%) | 692 (2.4%) | 347 (2.1%) | 272 (2.8%) | 434 (2.3%) | 984 (2.3%) | 149 (2.0%) |
| 12 | 398 (4.9%) | 590 (5.9%) | 422 (4.8%) | 266 (4.6%) | 2,006 (6.5%) | 2,391 (6.1%) | 1,967 (6.9%) | 1,198 (7.3%) | 554 (5.7%) | 1,243 (6.5%) | 3,108 (7.2%) | 534 (7.2%) |
| 3 | 148 (1.8%) | 174 (1.7%) | 187 (2.1%) | 102 (1.8%) | 684 (2.2%) | 708 (1.8%) | 631 (2.2%) | 290 (1.8%) | 175 (1.8%) | 420 (2.2%) | 693 (1.6%) | 107 (1.4%) |
| 4 | 184 (2.3%) | 205 (2.0%) | 204 (2.3%) | 114 (2.0%) | 707 (2.3%) | 784 (2.0%) | 642 (2.3%) | 435 (2.7%) | 233 (2.4%) | 561 (2.9%) | 771 (1.8%) | 138 (1.9%) |
| 5 | 250 (3.1%) | 289 (2.9%) | 238 (2.7%) | 127 (2.2%) | 648 (2.1%) | 690 (1.8%) | 533 (1.9%) | 212 (1.3%) | 168 (1.7%) | 380 (2.0%) | 630 (1.5%) | 120 (1.6%) |
| 6 | 426 (5.3%) | 438 (4.4%) | 437 (5.0%) | 270 (4.7%) | 1,196 (3.9%) | 1,383 (3.5%) | 1,006 (3.5%) | 534 (3.3%) | 415 (4.2%) | 579 (3.0%) | 1,212 (2.8%) | 224 (3.0%) |
| 7 | 302 (3.7%) | 347 (3.5%) | 301 (3.4%) | 188 (3.3%) | 1,474 (4.8%) | 1,654 (4.2%) | 1,316 (4.6%) | 724 (4.4%) | 423 (4.3%) | 929 (4.8%) | 1,950 (4.5%) | 321 (4.3%) |
| 8 | 793 (9.8%) | 883 (8.8%) | 803 (9.2%) | 706 (12%) | 2,310 (7.5%) | 2,427 (6.2%) | 1,718 (6.0%) | 1,037 (6.3%) | 738 (7.6%) | 1,352 (7.1%) | 2,400 (5.5%) | 476 (6.4%) |
| Bình Chánh | 832 (10%) | 909 (9.1%) | 919 (11%) | 541 (9.4%) | 2,056 (6.7%) | 4,343 (11%) | 2,225 (7.8%) | 2,116 (13%) | 1,334 (14%) | 1,111 (5.8%) | 4,804 (11%) | 965 (13%) |
| Bình Tân | 737 (9.1%) | 1,051 (10%) | 839 (9.6%) | 554 (9.7%) | 2,771 (9.0%) | 4,850 (12%) | 2,912 (10%) | 1,999 (12%) | 1,455 (15%) | 1,544 (8.1%) | 4,602 (11%) | 795 (11%) |
| Bình Thạnh | 315 (3.9%) | 310 (3.1%) | 248 (2.8%) | 149 (2.6%) | 1,435 (4.7%) | 1,818 (4.6%) | 1,417 (5.0%) | 774 (4.7%) | 385 (3.9%) | 1,026 (5.4%) | 1,967 (4.5%) | 335 (4.5%) |
| Cần Giờ | 74 (0.9%) | 89 (0.9%) | 36 (0.4%) | 32 (0.6%) | 334 (1.1%) | 275 (0.7%) | 304 (1.1%) | 96 (0.6%) | 42 (0.4%) | 186 (1.0%) | 477 (1.1%) | 57 (0.8%) |
| Củ Chi | 299 (3.7%) | 517 (5.1%) | 614 (7.0%) | 477 (8.3%) | 1,898 (6.2%) | 1,579 (4.0%) | 1,163 (4.1%) | 537 (3.3%) | 425 (4.3%) | 936 (4.9%) | 1,966 (4.5%) | 388 (5.2%) |
| Gò Vấp | 352 (4.4%) | 529 (5.3%) | 389 (4.5%) | 228 (4.0%) | 1,551 (5.0%) | 1,806 (4.6%) | 1,423 (5.0%) | 822 (5.0%) | 324 (3.3%) | 996 (5.2%) | 2,616 (6.0%) | 412 (5.6%) |
| Hóc Môn | 460 (5.7%) | 613 (6.1%) | 449 (5.1%) | 255 (4.4%) | 1,675 (5.4%) | 1,961 (5.0%) | 1,408 (4.9%) | 727 (4.4%) | 424 (4.3%) | 914 (4.8%) | 2,037 (4.7%) | 334 (4.5%) |
| Nhà Bè | 197 (2.4%) | 232 (2.3%) | 173 (2.0%) | 154 (2.7%) | 866 (2.8%) | 1,106 (2.8%) | 933 (3.3%) | 480 (2.9%) | 249 (2.5%) | 713 (3.7%) | 1,434 (3.3%) | 260 (3.5%) |
| Phú Nhuận | 120 (1.5%) | 157 (1.6%) | 87 (1.0%) | 62 (1.1%) | 412 (1.3%) | 545 (1.4%) | 442 (1.6%) | 241 (1.5%) | 123 (1.3%) | 398 (2.1%) | 628 (1.4%) | 85 (1.1%) |
| Tân Bình | 456 (5.6%) | 440 (4.4%) | 339 (3.9%) | 194 (3.4%) | 1,582 (5.1%) | 1,764 (4.5%) | 1,368 (4.8%) | 581 (3.5%) | 362 (3.7%) | 975 (5.1%) | 1,837 (4.2%) | 245 (3.3%) |
| Tân Phú | 363 (4.5%) | 502 (5.0%) | 493 (5.6%) | 315 (5.5%) | 1,673 (5.4%) | 2,293 (5.8%) | 1,542 (5.4%) | 740 (4.5%) | 528 (5.4%) | 1,068 (5.6%) | 2,340 (5.4%) | 316 (4.3%) |
| Thủ Đức | 703 (8.7%) | 981 (9.8%) | 879 (10%) | 555 (9.7%) | 3,167 (10%) | 4,406 (11%) | 3,439 (12%) | 1,965 (12%) | 754 (7.7%) | 2,525 (13%) | 5,270 (12%) | 866 (12%) |
| Treatment | ||||||||||||
| Death | 2 (<0.1%) | 1 (<0.1%) | 0 (0%) | 0 (0%) | 0 (0%) | 0 (0%) | 0 (0%) | 0 (0%) | 0 (0%) | 0 (0%) | 0 (0%) | 0 (0%) |
| Discharge | 0 (0%) | 0 (0%) | 0 (0%) | 0 (0%) | 4,817 (16%) | 5,245 (13%) | 2,427 (8.5%) | 1,111 (6.8%) | 488 (5.0%) | 871 (4.5%) | 1,174 (2.7%) | 299 (4.0%) |
| Inpatient | 8,076 (100%) | 10,042 (100%) | 8,729 (100%) | 5,740 (100%) | 510 (1.7%) | 1,805 (4.6%) | 1,702 (6.0%) | 1,585 (9.7%) | 1,219 (12%) | 1,355 (7.1%) | 5,598 (13%) | 949 (13%) |
| Others | 0 (0%) | 0 (0%) | 0 (0%) | 0 (0%) | 9 (<0.1%) | 3 (<0.1%) | 0 (0%) | 0 (0%) | 0 (0%) | 2 (<0.1%) | 11 (<0.1%) | 2 (<0.1%) |
| Outpatient | 0 (0%) | 0 (0%) | 0 (0%) | 0 (0%) | 25,483 (83%) | 32,281 (82%) | 24,350 (85%) | 13,692 (83%) | 8,063 (83%) | 16,920 (88%) | 36,540 (84%) | 6,140 (83%) |
| Transfer | 0 (0%) | 0 (0%) | 0 (0%) | 0 (0%) | 6 (<0.1%) | 18 (<0.1%) | 7 (<0.1%) | 10 (<0.1%) | 2 (<0.1%) | 17 (<0.1%) | 57 (0.1%) | 7 (<0.1%) |
| 1 Median (Q1, Q3); n (%) | ||||||||||||
First hypothesis
Epicurve
We will look at the epidemic curves per commune and/or district whether cases from locations cause the peaks
Geographical differences testing
The Chi-square test was used for testing the case proportion between two peaks of each district compared to others.Districts in the North and North-East likely contributed to the first peak and the Southern contributed to the second peak.
district pro1 pro2 p
1 1 0.0152950378030764 0.0174378622654485 0.0852906238754626
2 10 0.02103067697923 0.022693781314471 0.249958440159109
3 11 0.0213782914747545 0.0241674034777483 0.0555607078259942
4 12 0.0843834187885635 0.0572747814127124 1.08815786397304e-27
5 3 0.015034326931433 0.0170448963552412 0.103489685170834
6 4 0.0160771704180064 0.0196974162491404 0.00493678827387002
7 5 0.0139480316329191 0.0151783082817566 0.303698530073671
8 6 0.0248544364299991 0.0314372728165832 3.75483748902426e-05
9 7 0.0415833840271139 0.0487768936044798 0.000337252163948955
10 8 0.0489267402450682 0.0625798212005109 6.19050890430989e-10
11 Bình Chánh 0.109150951594681 0.112486491796837 0.275930575785443
12 Bình Thạnh 0.0406274441644217 0.0506926024167403 5.60142709424319e-07
13 Bình Tân 0.108195011731989 0.103693879555949 0.132694127606024
14 Cần Giờ 0.00590944642391588 0.0167501719225857 5.47123988580881e-27
15 Củ Chi 0.0389328234987399 0.052559190490225 1.16118705334119e-11
16 Gò Vấp 0.0660902059615886 0.0537872089596228 8.7513175154497e-08
17 Hóc Môn 0.0567046145824281 0.035956380783967 2.6964282010459e-24
18 Nhà Bè 0.0301990092986878 0.0363002259553984 0.000432122211982953
19 Phú Nhuận 0.0140349352568002 0.0149818253266529 0.433285153311796
20 Thủ Đức 0.126270965499261 0.11592494351115 0.00104689846730471
21 Tân Bình 0.0435821673763796 0.0409666961391099 0.184881673665217
22 Tân Phú 0.057790909880942 0.0496119461636703 0.000183007604016604
diff p1 diff1 out
1 0.0021428245 >0.05 Increase No significant difference
2 0.0016631043 >0.05 Increase No significant difference
3 0.0027891120 >0.05 Increase No significant difference
4 -0.0271086374 <0.01 Decrease Significant decrease (p < 0.01)
5 0.0020105694 >0.05 Increase No significant difference
6 0.0036202458 <0.01 Increase Significant increase (p < 0.01)
7 0.0012302766 >0.05 Increase No significant difference
8 0.0065828364 <0.01 Increase Significant increase (p < 0.01)
9 0.0071935096 <0.01 Increase Significant increase (p < 0.01)
10 0.0136530810 <0.01 Increase Significant increase (p < 0.01)
11 0.0033355402 >0.05 Increase No significant difference
12 0.0100651583 <0.01 Increase Significant increase (p < 0.01)
13 -0.0045011322 >0.05 Decrease No significant difference
14 0.0108407255 <0.01 Increase Significant increase (p < 0.01)
15 0.0136263670 <0.01 Increase Significant increase (p < 0.01)
16 -0.0123029970 <0.01 Decrease Significant decrease (p < 0.01)
17 -0.0207482338 <0.01 Decrease Significant decrease (p < 0.01)
18 0.0061012167 <0.01 Increase Significant increase (p < 0.01)
19 0.0009468901 >0.05 Increase No significant difference
20 -0.0103460220 <0.01 Decrease Significant decrease (p < 0.01)
21 -0.0026154712 >0.05 Decrease No significant difference
22 -0.0081789637 <0.01 Decrease Significant decrease (p < 0.01)
Second hypothesis
To analyze age structure, we will look at the age distribution of cases as a function of time either continuous variable or binary variable (first peak and second peak), and space (commune or district).
Binary time variable
| Characteristic | 1st peak N = 20,3581 |
2nd peak N = 23,0141 |
|---|---|---|
| age | 2.649 (1.784, 3.726) | 2.393 (1.548, 3.721) |
| 1 Median (Q1, Q3) | ||
Continuous time variable
Two types of analysis: heat map and sliding window (time-varying mean age and [25th,75th] quartile).
Full period analysis
Sliding window with width 7 days and step 1 days
Heat map of age distribution (sliding window with 7-day width and 7-day step)
Annual analysis
Sliding window with width 7 days and step 1 days
Heat map of age distribution (sliding window with 7-day width and 7-day step)
Sliding window with width 7 days and step 1 days
Heat map of age distribution (sliding window with 7-day width and 7-day step)
Sliding window with width 7 days and step 1 days
Heat map of age distribution (sliding window with 7-day width and 7-day step)
Sliding window with width 7 days and step 1 days
Heat map of age distribution (sliding window with 7-day width and 7-day step)
Sliding window with width 7 days and step 1 days
Heat map of age distribution (sliding window with 7-day width and 7-day step)
Sliding window with width 7 days and step 1 days
Heat map of age distribution (sliding window with 7-day width and 7-day step)
Sliding window with width 7 days and step 1 days
Heat map of age distribution (sliding window with 7-day width and 7-day step)
Spatial distribution
Attack rate using population census 2019 data
district n1 n2 pop atk1 pop2 atk2
1 1 352 355 161975 0.002173175 161623 0.002196470
2 10 484 462 239944 0.002017137 239460 0.001929341
3 11 492 492 212448 0.002315861 211956 0.002321236
4 12 1942 1166 489271 0.003969170 487329 0.002392634
5 3 346 347 199914 0.001730744 199568 0.001738756
6 4 370 401 174448 0.002120976 174078 0.002303565
7 5 321 309 175828 0.001825648 175507 0.001760614
8 6 572 640 261785 0.002184999 261213 0.002450108
9 7 957 993 343530 0.002785783 342573 0.002898652
10 8 1126 1274 403282 0.002792091 402156 0.003167925
11 Bình Chánh 2512 2290 508490 0.004940117 505978 0.004525888
12 Bình Thạnh 935 1032 515770 0.001812824 514835 0.002004526
13 Bình Tân 2490 2111 622294 0.004001324 619804 0.003405915
14 Cần Giờ 136 341 78240 0.001738241 78104 0.004365974
15 Củ Chi 896 1070 419260 0.002137099 418364 0.002557581
16 Gò Vấp 1521 1095 664746 0.002288092 663225 0.001651023
17 Hóc Môn 1305 732 417053 0.003129099 415748 0.001760682
18 Nhà Bè 695 739 119588 0.005811620 118893 0.006215673
19 Phú Nhuận 323 305 182878 0.001766205 182555 0.001670729
20 Thủ Đức 2906 2360 965772 0.003008992 962866 0.002451016
21 Tân Bình 1003 834 395784 0.002534211 394781 0.002112564
22 Tân Phú 1330 1010 516513 0.002574959 515183 0.001960468
Attack rate using data from vaccine registry (Hep B)
district n1 n2 pop atk1 atk2
1 1 352 355 16673 0.02111198 0.02129191
2 10 484 462 20332 0.02380484 0.02272280
3 11 492 492 21842 0.02252541 0.02252541
4 12 1942 1166 82642 0.02349895 0.01410905
5 3 346 347 14742 0.02347036 0.02353819
6 4 370 401 16583 0.02231201 0.02418139
7 5 321 309 14528 0.02209526 0.02126927
8 6 572 640 27231 0.02100547 0.02350263
9 7 957 993 39012 0.02453091 0.02545371
10 8 1126 1274 44031 0.02557289 0.02893416
11 Bình Chánh 2512 2290 71633 0.03506764 0.03196851
12 Bình Thạnh 935 1032 51224 0.01825316 0.02014681
13 Bình Tân 2490 2111 99578 0.02500552 0.02119946
14 Cần Giờ 136 341 8594 0.01582499 0.03967885
15 Củ Chi 896 1070 56343 0.01590260 0.01899082
16 Gò Vấp 1521 1095 64362 0.02363196 0.01701314
17 Hóc Môn 1305 732 60745 0.02148325 0.01205037
18 Nhà Bè 695 739 24352 0.02853975 0.03034658
19 Phú Nhuận 323 305 16741 0.01929395 0.01821874
20 Thủ Đức 2906 2360 151380 0.01919672 0.01558991
21 Tân Bình 1003 834 45766 0.02191583 0.01822314
22 Tân Phú 1330 1010 56487 0.02354524 0.01788022
Epiestim
Using Cori method to estimate Instantaneous reproduction number \(R_t^i\)
Use reconstructed incidence to fit
Use aggregated incidence to fit
tSIR
[1] "gaussian regressian failed -- switching to loess regression"
alpha mean beta mean rho mean sus
6.90e-01 7.62e-05 1.03e+00 9.46e+04
prop. init. sus. prop. init. inf.
7.54e-03 6.05e-06
Attack rate
\[\text{Attack rate} = \frac{\text{number of new cases in the population at risk}}{\text{number of people at risk in the population}}\]
Reconstruct epicure 2013-2023
HAND, FOOT AND MOUTH DISEASE IN SOUTHERN VIETNAM DURING 2015 – 2021